#第一题#####
#矩阵
pro=read.csv("ADdata2.csv",row.names = 1)
s<-as.matrix(pro)
hist(log(s+1))
#循环
for(i in c(1:15))
{
  s=c(log(pro[,i]+1),log(pro[,i+1]+1))
}
a=hist(s)
#第二题####
pro=read.csv("ADdata2.csv",row.names = 1)
s<-as.matrix(pro)
hc<-hclust(dist(s,method = "euclidean"),"complete")
plot(hc, main=" Clustering Dendrogram",cex=0.9, hang=-1) 
#cex（character expansion factor），它表示相对于默认大小的缩放比例。
#hang决定了标签相对于它们所代表的叶节点的垂直位置。当 hang 为负值时，例如 hang=-1，标签会悬挂在对应叶节点的下方，并且不会与树的其他部分重叠。
#第三题####
library(ggplot2)
# 筛选上调和下调的蛋白  
p_thereshold=0.05
FC1<-log(1.2)
FC2<--log(1.2)
up_regulated <- prostat[,3] < p_thereshold & prostat[,2] > FC1 
down_regulated <- prostat$P < p_thereshold & prostat$FC < FC2
# 创建一个新的数据框，添加一个分类变量来表示上调、下调或不变  
prostat$regulation <- ifelse(up_regulated, "Up",   
                          ifelse(down_regulated, "Down","Not Significant") ) 
# 使用ggplot2绘制火山图  
ggplot(prostat, aes(x=FC, y=-log10(P), color=regulation)) +  
  geom_point(alpha=0.6, size=3) +  
  theme_minimal() +  
  ggtitle("Volcano Plot") +  # scale_color_manual设置图例中各个级别的颜色,十六进制RGB颜色代码
  xlab("Log2 Fold Change") +  #geom_hline设置一条水平线，y轴截距（yintercept）为-log10(0.05)
  ylab("-Log10 P-value") +    # geom_vline设置两条垂直线
  scale_color_manual(values=c("Up"="#FF0000", "Down"="#0000FF", "Not Significant"="#000000") )+  
  geom_hline(yintercept=-log10(0.05), col="darkgray", linetype="dashed") +  
  geom_vline(xintercept=c(-log2(1.2), log2(1.2)), col="darkgray", linetype="dashed")  

# 保存为jpg文件  
ggsave("volcano_plot.jpg", plot=last_plot(), width=10, height=8, dpi=300)


